// pages/plusaddress/plusaddress.js
import {_getProvince,_getCityOrArea,_plusAddress,_getAddressInfo,_delAddress,_editAddress} 
from '../../api/address'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    proIndex:0, //省的下标
    proList:[],//省的列表,
    cityList:[{
      id:0,
      name:"请选择"
    }],//市的数据
    cityIndex:0,//市的下标
    areaList:[{
      id:0,
      name:"请选择"
    }],//县的数组
    areaIndex:0,
    linkMan: "",
    address: "",
    mobile: "",
    code:"",
    isDefault:false,
    ctrlAction:"",
    addressId:null,
    editId:null,
    addressInfo:{}
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

      this.setData({
        addressId:options.id,
        ctrlAction:options.action,
        editId:options.id
      })
      this.getInfo();
  },
  // 删除地址接口
  async delAddress(){
    var res=await _delAddress(this.data.editId)
    console.log(res)
    wx.showToast({
      title: '删除成功',
    })
    wx.navigateTo({
      url: '/pages/addresslist/addresslist',
    })
  },
  // 获取当前要编辑的地址数据
  async getInfo(){
    var res=await _getAddressInfo(this.data.addressId)
    console.log(res)
    let addressInfo=res.data.info;
    this.setData({
      addressInfo:res.data.info,
      linkMan:addressInfo.linkMan,
      mobile:addressInfo.mobile,
      code:addressInfo.code,
      address:addressInfo.address,
      isDefault:addressInfo.isDefault
    })
  },
  // 添加收货地址
  async saveAddress(){
    var proId=this.data.proList[this.data.proIndex].id||this.data.addressInfo.provinceId;
    var cityId=this.data.cityList[this.data.cityIndex].id||this.data.addressInfo.cityId;
    var areaId=this.data.areaList[this.data.areaIndex].id||this.data.addressInfo.districtId;
    let data={
      linkMan: this.data.linkMan,
      address: this.data.address,
      mobile: this.data.mobile,
      isDefault: this.data.isDefault, //是否默认地址
      code: this.data.code,
      token: wx.getStorageSync('token'),
      cityId:cityId,
      provinceId:proId ,
     districtId:areaId,      
    }
    // 判断是否有地址id 
    if(this.data.editId){
      data.id=this.data.editId;//修改接口多传送一个id
      var editRes=await _editAddress(data)
      console.log(editRes)
      wx.showToast({
        title: '修改成功',
      })

    }else{
    // 添加收货地址接口
    var res=await _plusAddress(data) 
      console.log(res)
      wx.showToast({
        title: '添加地址成功',
      })
    }
  wx.navigateTo({
    url: '/pages/addresslist/addresslist',
  })
  },
  // 获取省的数据
  async getProVince(){
    var res=await _getProvince()
    console.log(res)
    res.data.unshift({
      id:0,
      name:"请选择"
    })
    console.log(res.data)
    this.setData({
      proList:res.data
    })

  },
  // 市的change事件调用 县 的数据
  async cityChange(e){
      var index=e.detail.value; //市的下标
      this.setData({
        cityIndex:index
      })
      // 调用获取县的接口
      var res=await _getCityOrArea(this.data.cityList[index].id)
      console.log(res)
      this.setData({
        areaList:res.data
      })
  },
  // 区县的change事件
  AreaChange(e){
    var index=e.detail.value;
    this.setData({
      areaIndex:index
    })
  },
  // 省的picker插件change事件
  // 去设置省的下标 根据省的id调用市的数据
  async getCity(e){
    console.log(e)
    var index=e.detail.value;
    this.setData({
      addressId:null,
      proIndex:index,
      cityList:[],
      areaList:[]
    })
    // 通过省的下标 找到省的id
    var pid=this.data.proList[index].id;
    // 获取市的接口
    var res=await  _getCityOrArea(pid)
    console.log(res);
    this.setData({
      cityList:res.data
    })
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
   this.getProVince();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})